package ar.edu.utn.frgp.EjemploHibernate.model;

import java.io.Serializable;
//import java.math.BigDecimal;
//import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
//import javax.persistence.FetchType;
import javax.persistence.Id;

@Entity(name = "clientes")
public class Cliente extends EntityBase implements Serializable {

	private static final long serialVersionUID = 1L;

	@Id
	@Column(name = "dni", unique = true, nullable = false)
	private int dni;


	@Column(name = "nombre")
	private String nombre;

	@Column(name = "apellido")
	private String apellido;

	@Column(name = "direccion")
	private String direccion;

	@Column(name = "email")
	private String email;

//	@Enumerated(EnumType.STRING)
	@Column(name = "estado")
	private int estado;

//	@OneToMany(fetch = FetchType.LAZY, targetEntity = Cuenta.class, mappedBy = "nrocuenta")
//	private List<Cuenta> cuentas;

	public Cliente() {
		// TODO Auto-generated constructor stub
	}

	public String getApellido() {
		return apellido;
	}

	public String getDireccion() {
		return direccion;
	}

	public int getDni() {
		return dni;
	}

	public String getEmail() {
		return email;
	}

	public int getEstado() {
		return estado;
	}

	
	public int getId() {
		return this.dni;
	}

	public String getNombre() {
		return nombre;
	}


	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((String.valueOf(dni) == null) ? 0 : String.valueOf(dni).hashCode());
		return result;
	}

	public void setApellido(String apellido) {
		this.apellido = apellido;
	}

	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}

	public void setDni(int dni) {
		this.dni = dni;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public void setEstado(int estado) {
		this.estado = estado;
	}

	@Override
	public void setId(int id) {
		this.dni = id;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}


	@Override
	public String toString() {
		StringBuilder builder = new StringBuilder();
		builder.append(apellido);
		builder.append(", ");
		builder.append(nombre);
		return builder.toString();
	}

}
